package cn.zqy.demo2.day03.demo02;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
 *  java.util.Set接口 extends Collection接口
 *     Set接口的特点:
 *         1.不允许存储重复的元素
 *         2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历，能用forEach
 *     java.util.HashSet集合 implements Set接口
 *     HashSet特点:
 *          1.不允许存储重复的元素
 *          2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历，能用forEach
 *          3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致
 *          4.底层是一个哈希表结构(查询的速度非常的快)
 * */
public class Demo01Set {
    public static void main(String[] args) {
        //创建 Set集合
        Set<String> strs= new HashSet<>();
        strs.add("a");
        strs.add("z");
        strs.add("l");
        strs.add("A");
        // 不许重复添加
        strs.add("l");
        // 无序列表
        System.out.println(strs);
        // 迭代器遍历
        Iterator<String> li = strs.iterator();
        while (li.hasNext()) {
            String s = li.next();
            System.out.print(s + "  ");
        }
        System.out.println("\n=========");

        // forEach遍历
        for (String s:strs) {
            System.out.print(s  + "  ");
        }
    }
}
